简介:体验新一代高性能 Python Web 框架,本课程将从 Hellow World 开始引导同学们学习 FastAPI 框架的所有知识点。从框架特性一览,到 ASGI 服务介绍,以全球新冠病毒感染数据查询为功能场景,依次讲解 FastAPI 的 API 交互文档使用,如何使用 Pydantic 定义和规范数据格式、类型,各种请求参数和验证,Jinja2 模板渲染和 Static 静态文件配置,FastAPI 的响应处理和配置,通过代码示例讲解依赖注入系统的所有知识,数据库配置与 SQLAlchemy 的使用,大型工程应该如何设计目录结构。
框架的安全、认证、授权,中间件开发,跨域资源共享的实现,后台任务和测试用例的编写。
第1章 课程介绍
介绍本课程的学习内容和目标,如何学习本课程,展示最终代码和效果,引导同学们对 FastAPI 框架有一个基本的了解,并能够在课程结束后独立使用 FastAPI 完成 RESTful API 接口开发
第2章 FastAPI介绍和项目准备
在学习 FastAPI 之前,先给大家介绍其相关的内容,如框架的优点,起源(与Pydantic/Starlette的关系),部署用到的服务。然后再讲项目开发环境的搭建,最后是Pydantic包用法的讲解。
第3章 请求参数和验证
本章先讲 FastAPI 程序的编码方式,它自带的 API 交互文档 Swagger UI,然后讲解 FastAPI 框架如何给后端传递参数,包括:路劲参数、参数参数、Body请求体、Cookie和Header参数。还有不同参数类型的组合使用。
第4章 响应处理和FastAPI配置
本章讲解 FastAPI 框架的响应 Response,包括响应模型类和状态码。还有表单数据处理、上传文件、路径操作配置。FastAPI 应用的配置,错误处理。
第5章 FastAPI的依赖注入系统
本章专门讲解 FastAPI 的依赖注入系统,从概念、原理到开发套路。
第6章 安全、认证和授权
本章会先图文讲解 OAuth 2.0 的概念和原理,然后 FastAPI 框架中实现 OAuth 2.0 的密码模式认证和 JWT 认证。
第7章 FastAPI的数据库操作和多应用的目录结构设计
这章代码量较多,主要是开发 Coronavirus 应用,实现课程开头部分大家看到的效果。过程中会讲解到数据库的配置,SQLAlchemy ORM的开发,Jinja2模板的开发。最后还有一个关于工程知识点,项目目录有结构的优化。
第8章 中间件、CORS、后台任务、测试用例
这章把4个零散的知识点放在一起,都分别实现一些的简单的示例,便于大家理解。后台任务的部分,会把 Coronavirus 应用中的后台同步数据功能完成。